A Non-Blocking Reference Listing Algorithm for Mobile Active Object Garbage Collection
نویسندگان
چکیده
Automatic garbage collection (GC) gives abstraction to distributed application development, promoting code quality and improving resource management. Unreachability of active objects or actors from the root set is not a sufficient condition to collect actor garbage, making passive object GC algorithms unsafe when directly used on actor systems. In practical actor languages, all actors have references to the root set since they can interact with users, e.g., through standard input or output streams. This feature makes every unblocked actor live, and thus we call it the live unblocked actor principle. Following this idea, we introduce pseudo-roots: a dynamic set of actors that can be viewed as the root set. Pseudo-roots use protected (undeletable) references to ensure that no actors are erroneously collected even with messages in transit. The pseudoroot approach simplifies distributed actor garbage collection by representing in-transit messages in the actor reference graph even if both application and system messages are unordered (nonFIFO) and communication is asynchronous. Our algorithm also supports systems not following the live unblocked actor principle and therefore, is applicable to more traditional actor garbage collection. We formalize the computing model of the pseudo-root approach and provide proofs of correctness. Furthermore, we summarize empirical results on the performance and scalability of distributed GC using a particle physics maximum likelihood evaluation fitter on a 72-processor cluster environment.
منابع مشابه
A Non-blocking Snapshot Algorithm for Distributed Garbage Collection of Mobile Active Objects
Distributed actor garbage collection differs from distributed object garbage collection in that it needs to consider in-transit message detection, unordered message reception, and actor migration. In this paper, we propose a new snapshot-based distributed actor garbage collection algorithm. The algorithm does not require First-In-First-Out or blocking communication, nor message logging. Further...
متن کاملDistributed Garbage Collection for Large-scale Mobile Actor Systems
Distributed actor garbage collection (GC) is a notoriously hard problem due to the nature of distributed actor systems — no common clock, no coherent global information, asynchronous and unordered message passing, autonomous behavior of actors, and counter-intuitive actor marking to identify live actors. Most existing distributed actor GC algorithms rely on First-In-First-Out (FIFO) communicati...
متن کاملDistributed Garbage Collection in a Middleware for Mobile Applications
A middleware for object-oriented software systems which provides for transparent remote method invocation and transparent object mobility may require a very flexible object reference model. Distributed garbage collection algorithms, on the other hand, rely on simple object reference models, either to count object references or to traverse object references to mark unreachable objects. Thus, imp...
متن کاملCyclic Distributed Garbage Collection Without Global Synchronization in CORBA
1 Abstract This paper describes an algorithm for cyclic distributed garbage collection and its implementation. The algorithm is an extension of reference-listing that collects cyclic garbage. It uses back-tracing instead of mark-and-sweep to eliminate the need of global synchronization. First, by using a special heuristic the algorithm chooses an object that is likely to be garbage (suspect). T...
متن کاملHardware Concurrent Garbage Collection for Short-Lived Objects in Mobile Java Devices
jHISC is an object-oriented processor for embedded system aiming at accelerating Java execution by hardware approach. Garbage collection is one of the critical tasks in a Java Virtual Machine. In this paper, we have conduct a study of dynamic object allocation and garbage collection behavior of Java program based on SPECjvm 98 benchmark suite and MIDP applications for mobile phones. Life, size,...
متن کامل